SSHPASS – SSH登录自动键入密码 |
您所在的位置:网站首页 › ubuntu 安装 sshpass › SSHPASS – SSH登录自动键入密码 |
明杰最近在搞一个SHELL脚本的时候,需要去其它服务器拉取文件,可是发现在脚本里用SSH命令登录的时候,需要交互式的输入密码,这就造成了不能完成明杰所需要的任务,于是,明杰去谷歌了一下,发现了好几个可以非交互式远程登录的工具,明杰就是用了Sshpass完成的。明杰就简单说一下这个工具的用法吧。 明杰多说几句,如果是经常使用的服务器,还是推荐大家使用密钥登录,这样不但可以省去这些麻烦也更安全,明杰这是临时的测试服务器,所以没有使用密钥登录。 ![]() 基本上常用的就这几个命令,明杰直接举例来说明 -p 后面直接跟密码 [root@10-46-164-253 ~]sshpass -p '123456' ssh [email protected] Welcome to Ubuntu 16.04.5 LTS (GNU/Linux 4.4.0-112-generic x86_64) Last login: Wed Feb 13 20:47:59 2019 from 117.50.53.210 ubuntu@10-8-167-221:~$ exit logout Connection to 103.72.246.237 closed.-f 后面跟密码文件 #vim pass.txt 123456 sshpass -f pass.txt ssh [email protected]-e 需要配合指定环境变量,变量为SSHPASS export SSHPASS=123456 sshpass -e ssh [email protected]说一下SCP拉取文件吧 sshpass -p '123456' scp [email protected]:/home/fklds.txt ~/另外,需要注意三点 如果是自定义端口,可以直接在主机后面加,也可以使用ssh的-p 参数 sshpass -p '123456' ssh [email protected]:6666 或者 sshpass -p '123456' ssh -p 6666 [email protected]如果是首次连接的远程主机,并且需要下载公钥的话,需要配合ssh参数使用,否则会没有任合反馈 sshpass -p '123456' ssh -o StrictHostKeyChecking=no [email protected]3、-p 参数的密码不可以含有特殊字符,需要转义,因此建议使用文件方式。 明杰结语明杰只是在测试服务器,因此只是用了最直接的方式来解决,要在脚本中处理大量的交互的话,还是要用expect,大家有兴趣的可以多看看,明杰有时间再整理一下。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |